package com.yang.service.impl;

import java.util.List;
import java.util.Map;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yang.bean.Page;
import com.yang.bean.User;
import com.yang.dao.UserDao;
import com.yang.service.IUserService;

/**
 * 服务层接口的实现类
 * 
 * @author admin
 *
 */
@Service("userService")
public class UserServiceImpl implements IUserService {

    private static Logger logger = LogManager.getLogger(UserServiceImpl.class);
    /**
     * 注入基础DAO层接口
     */
    @Autowired
    private UserDao userDao;

    /**
     * 查询单个用户记录
     * 
     * @return 记录
     */
    @Override
    public User getUser(int id) {
        return userDao.getUser(id);
    }

    /**
     * 模糊查询用户信息
     * 
     * @return 记录
     */
    /*
     * @Override public Page queryLikeUsers(Map<String, Object> cond) { Page
     * page=new Page(); //根据条件查询符合的用户列表记录总数，赋值给page的totalNum变量
     * page.setTotalNum(userDao.getLikeUsersCount(cond)); //从请求参数中获取每页大小 int
     * pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
     * page.setPageSize(pageSize); //从请求参数中获取当前页码 int curPageNum =
     * Integer.parseInt(String.valueOf(cond.get("pageNum")));
     * page.setCurPageNum(curPageNum); //动态计算总页数(总记录数 除以 每页大小，加上 总页数 求余
     * 每页大小，如果余数不为0，则 加 1，否则 加 0 )
     * page.setTotalPage(page.getTotalNum()/pageSize+(page.getTotalNum()%pageSize==0
     * ?0:1)); //根据条件查询符合的用户列表记录，赋值给page的result变量
     * page.setResult(userDao.getLikeUsers(cond));
     * 
     * return page; }
     */

    /**
     * 登录查询
     * 
     * @return 记录
     */
    @Override
    public User login(User user) {
        User users = userDao.login(user);
        return users;
    }

    /**
     * 查询记录
     * 
     * @return 记录
     */
    @Override
    public List<User> searchUser() throws Exception {
        List<User> list = userDao.searchUser();
        return list;
    }

    /**
     * 新增记录
     * 
     * @param user
     *            基础实体类
     * @return
     * @return 影响行数
     * @throws Exception
     */
    @Override
    public int saveUser(User user) throws Exception {
        logger.error("添加用户：" + user);
        int result = userDao.saveUser(user);
        return result;
    }

    /**
     * 修改记录
     * 
     * @param user
     *            基础实体类
     * @return 影响行数
     */
    @Override
    public int updateUser(User user) throws Exception {
        int result = userDao.updateUser(user);
        return result;
    }

    /**
     * 删除记录
     * 
     * @param id
     *            表主键
     * @return 影响行数
     */
    @Override
    public int deleteUser(int id) throws Exception {
        int result = userDao.deleteUser(id);
        return result;
    }

    @Override
    public List<User> queryLikeUsers(String userName) {
        List<User> uList = userDao.getLikeUsers(userName);
        return uList;
    }

}
